Конвертация данных, ред.3
06.10.2022
Механизм используется для конвертаций, предназначенных для синхронизации данных через универсальный формат.
Предусмотрен для уменьшения размера общего модуля МенеджерОбменаЧерезУниверсальныйФормат. Слишком длинный общий модуль может создавать технические проблемы при работе с конфигурацией через EDT.
Использование механизма разделения модуля является опциональным. Возможность разделения модуля настраивается для конкретной Конвертации
При включении разделения модуля единый модуль менеджера разделяется на части:
Остается Базисный модуль с тем же названием, для взаимодействия с подсистемой БСП "Обмен данными",
Добавляются предопределенные дополнительные модули, которые вызываются из базисного модуля.
Разделение правил конвертации между предопределенными модулями происходит автоматически, на основании типа данных в правиле и направления обмена.
Предусмотрена опциональная возможность изменить автоматическое разделение правил между модулями:
Добавить Пользовательский модуль и назначить входящие в него правила конвертации,
Настроить выгрузку некоторых правил конвертации в модуль менеджера объекта метаданных.
Режим разделения модуля включается с помощью флага Использовать разделение модуля.
Настройки производятся на закладке Модули конвертации.
Необходимо выполнить следующие настройки:
1. Способ выгрузки модулей. Указывается, в каком виде будут выгружаться модули:
2. Выгружать модули в каталог: место выгрузки модулей в зависимости от способа выгрузки. Либо каталог с текстовыми файлами, либо каталог куда выгружены файлы конфигурации.
Список модулей можно увидеть в табличном поле на закладке Модули конвертации.
Предопределенные модули создаются автоматически, при включении режима разделения модуля:
Состав предопределенных модулей нельзя изменить. Можно изменить только имена модулей.
Если не менять настройку правил конвертации, правила автоматически распределяются между предопределенными модулями в зависимости от направления обмена и типа объекта метаданных.
В список модулей можно добавить Пользовательские модули. Эти модули позволят более мелко разбить правила между разными общими модулями. Например, правила для документов могут быть дополнительно разбиты по назначению документов (взаиморасчеты, склад, закупки, продажи и т.п.)
Чтобы привязать правило к Пользовательскому модулю, необходимо указать ссылку на Пользовательский модуль в правиле обработки данных, в правиле конвертации объекта либо в алгоритме.
Указывать в качестве пользовательского модуля один из предопределенных модулей запрещено.
В правилах конвертации есть возможность указать что правила выгружаются в модуль менеджера объекта метаданных. Выгрузка происходит по следующим правилам (в зависимости от способа выгрузки модулей):
Существует два варианта настройки выгрузки правил в модуль менеджера объекта метаданных.
В простом случае используется модуль менеджера того объекта конфигурации, для которого предусмотрено правило.
В сложных случаях (например, вместо объекта конфигурации в правиле конвертации используется произвольная структура данных) можно явно указать Объект конфигурации, в модуль менеджера которого будет производиться выгрузка данных:
Внимание! Использование модуля менеджера объекта для хранения правил усложняет кастомизацию приложений.
Список модулей можно переключить в режим дерева.
В этом режиме добавлять новые модули нельзя. Режим дерева предназначен для просмотра информации какие правила конвертации к какому модулю будут относиться.
Как и прежде, можно осуществлять выгрузку правил с помощью кнопки в форме настройки правил обмена.
Заголовок кнопки различается, в зависимости от способа выгрузки модулей конвертации.
Если выгрузка модулей производится в файлы XML, в состав общих модулей должны быть добавлены используемые модули менеджера. Обработка выгрузки модулей не добавляет новые модули в структуру файлов XML, а лишь обновляет существующие файлы с модулями.
Используется обработка Загрузка модуля менеджера (раздел Конвертации, меню Сервис) таким же образом, как и для не разделенного модуля менеджера.
Внимание! Если производится загрузка из разделенных модулей в пустую конвертацию, для конвертации должно быть настроено разделение модулей и заданы правильные названия используемых модулей. В противном случае правила не могут быть загружены корректно.
В форме справочника Конвертации предусмотрены кнопки, позволяющие из одной формы производить выгрузку и загрузку правил конвертации, а также сохранение конфигурации в файлы и загрузку конфигурации из файлов.
Эти возможности доступны только если указан способ выгрузки модулей - в файлы XML.
Сначала необходимо настроить параметры подключения к базе 1С Предприятие (гиперссылка Параметры подключения)
Предусмотрены возможности:
В Конвертации данных ред. 3:
Для выбранной конвертации установить флаг Использовать разделение модуля,
Перейти на закладку Модули конвертации и настроить способ выгрузки и каталог хранения файлов,
Проверить имена предопределенных модулей, заполненных автоматически. При необходимости изменить имена общих модулей.
В конфигураторе информационной базы, для которой будут использоваться правила конвертации:
Добавить новые общие модули в соответствии с названиями дополнительных модулей в Конвертации. Тексты модулей можно оставить пустыми.
Если используется режим выгрузки модулей в файлы XML, выполнить сохранение конфигурации в файлы. Указать каталог в соответствии с настройками каталога хранения файлов в Конвертации ред. 3.
В Конвертации данных ред.3 выполнить выгрузку правил конвертации.
Перенести правила конвертации в конфигурацию информационной базы, в которой будут использоваться правила конвертации.
Если режим выгрузки модулей - в файлы TXT, переносить тексты модулей следует вручную в конфигураторе.
Если режим выгрузки модулей - в файлы XML, следует в конфигураторе информационной базы выполнить загрузку конфигурации из файлов XML. Этот процесс может занимать продолжительное время, т. к. выборочная загрузка не предусмотрена.
В режиме разделения модулей алгоритмы выделяются в отдельный модуль. Вызовы алгоритмов могут производиться из обработчиков, расположенных в других модулях:
При выполнении выгрузки производится автоматическая замена вызовов алгоритмов. Например, вместо вызова БухгалтерскийСчетПоКоду() вставляется вызов МенеджерОбменаАлгоритмы.БухгалтерскийСчетПоКоду().
В некоторых случаях автоматическая замена может сработать некорректно. Например, если перед вызовом алгоритма отсутствует пробел.
Пример:
Копировать в буфер обменаСтруктураДанныхСтроки.Вставить("Счет",БухгалтерскийСчетПоКоду("57.03"));
Если замена не сработала, синтаксическая проверка модуля в конфигураторе будет выдавать ошибку.
Для исправления ситуации следует внести изменения в текст обработчика в конвертации:
Также необходимо учитывать следующее: если конвертация была загружена из разделенного модуля, вызовы алгоритмов уже содержат полный путь содержащий имя модуля.
Если после загрузки правил принято решение перейти на единый модуль менеджера и отключить режим разделения модуля в конвертации, эти вызовы станут некорректными и потребуется заменить их на другие — без указания имени общего модуля